home *** CD-ROM | disk | FTP | other *** search
-
-
-
- TTTTeeeerrrrmmmm::::::::CCCCaaaapppp((((3333)))) TTTTeeeerrrrmmmm::::::::CCCCaaaapppp((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- Term::Cap - Perl termcap interface
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- require Term::Cap;
- $terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed };
- $terminal->Trequire(qw/ce ku kd/);
- $terminal->Tgoto('cm', $col, $row, $FH);
- $terminal->Tputs('dl', $count, $FH);
- $terminal->Tpad($string, $count, $FH);
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- These are low-level functions to extract and use capabilities from a
- terminal capability (termcap) database.
-
- The TTTTggggeeeetttteeeennnntttt function extracts the entry of the specified terminal type
- _T_E_R_M (defaults to the environment variable _T_E_R_M) from the database.
-
- It will look in the environment for a _T_E_R_M_C_A_P variable. If found, and
- the value does not begin with a slash, and the terminal type name is the
- same as the environment string _T_E_R_M, the _T_E_R_M_C_A_P string is used instead
- of reading a termcap file. If it does begin with a slash, the string is
- used as a path name of the termcap file to search. If _T_E_R_M_C_A_P does not
- begin with a slash and name is different from _T_E_R_M, TTTTggggeeeetttteeeennnntttt searches the
- files $_H_O_M_E/._t_e_r_m_c_a_p, /_e_t_c/_t_e_r_m_c_a_p, and /_u_s_r/_s_h_a_r_e/_m_i_s_c/_t_e_r_m_c_a_p, in that
- order, unless the environment variable _T_E_R_M_P_A_T_H exists, in which case it
- specifies a list of file pathnames (separated by spaces or colons) to be
- searched iiiinnnnsssstttteeeeaaaadddd. Whenever multiple files are searched and a tc field
- occurs in the requested entry, the entry it names must be found in the
- same file or one of the succeeding files. If there is a :tc=...: in the
- _T_E_R_M_C_A_P environment variable string it will continue the search in the
- files as above.
-
- _O_S_P_E_E_D is the terminal output bit rate (often mistakenly called the baud
- rate). _O_S_P_E_E_D can be specified as either a POSIX termios/SYSV termio
- speeds (where 9600 equals 9600) or an old BSD-style speeds (where 13
- equals 9600).
-
- TTTTggggeeeetttteeeennnntttt returns a blessed object reference which the user can then use to
- send the control strings to the terminal using TTTTppppuuuuttttssss and TTTTggggoooottttoooo. It calls
- croak on failure.
-
- TTTTggggoooottttoooo decodes a cursor addressing string with the given parameters.
-
- The output strings for TTTTppppuuuuttttssss are cached for counts of 1 for performance.
- TTTTggggoooottttoooo and TTTTppppaaaadddd do not cache. $self->{_xx} is the raw termcap data and
- $self->{xx} is the cached version.
-
- print $terminal->Tpad($self->{_xx}, 1);
-
- TTTTggggoooottttoooo, TTTTppppuuuuttttssss, and TTTTppppaaaadddd return the string and will also output the string
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- TTTTeeeerrrrmmmm::::::::CCCCaaaapppp((((3333)))) TTTTeeeerrrrmmmm::::::::CCCCaaaapppp((((3333))))
-
-
-
- to $FH if specified.
-
- The extracted termcap entry is available in the object as $self-
- >{TERMCAP}.
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- # Get terminal output speed
- require POSIX;
- my $termios = new POSIX::Termios;
- $termios->getattr;
- my $ospeed = $termios->getospeed;
-
- # Old-style ioctl code to get ospeed:
- # require 'ioctl.pl';
- # ioctl(TTY,$TIOCGETP,$sgtty);
- # ($ispeed,$ospeed) = unpack('cc',$sgtty);
-
- # allocate and initialize a terminal structure
- $terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed };
-
- # require certain capabilities to be available
- $terminal->Trequire(qw/ce ku kd/);
-
- # Output Routines, if $FH is undefined these just return the string
-
- # Tgoto does the % expansion stuff with the given args
- $terminal->Tgoto('cm', $col, $row, $FH);
-
- # Tputs doesn't do any % expansion.
- $terminal->Tputs('dl', $count = 1, $FH);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-